// Generated from E:\QU\Downloads\tpantlr2-code (1)\code\listeners\Cymbol.g4 by ANTLR 4.2
package qu.sol2bpel.sol.grammar.symbolTable;

import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link CymbolParser}.
 */
public interface CymbolListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link CymbolParser#Mult}.
	 * @param ctx the parse tree
	 */
	void enterMult(@NotNull CymbolParser.MultContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Mult}.
	 * @param ctx the parse tree
	 */
	void exitMult(@NotNull CymbolParser.MultContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Parens}.
	 * @param ctx the parse tree
	 */
	void enterParens(@NotNull CymbolParser.ParensContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Parens}.
	 * @param ctx the parse tree
	 */
	void exitParens(@NotNull CymbolParser.ParensContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#formalParameter}.
	 * @param ctx the parse tree
	 */
	void enterFormalParameter(@NotNull CymbolParser.FormalParameterContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#formalParameter}.
	 * @param ctx the parse tree
	 */
	void exitFormalParameter(@NotNull CymbolParser.FormalParameterContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Call}.
	 * @param ctx the parse tree
	 */
	void enterCall(@NotNull CymbolParser.CallContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Call}.
	 * @param ctx the parse tree
	 */
	void exitCall(@NotNull CymbolParser.CallContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#AddSub}.
	 * @param ctx the parse tree
	 */
	void enterAddSub(@NotNull CymbolParser.AddSubContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#AddSub}.
	 * @param ctx the parse tree
	 */
	void exitAddSub(@NotNull CymbolParser.AddSubContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#varDecl}.
	 * @param ctx the parse tree
	 */
	void enterVarDecl(@NotNull CymbolParser.VarDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#varDecl}.
	 * @param ctx the parse tree
	 */
	void exitVarDecl(@NotNull CymbolParser.VarDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#block}.
	 * @param ctx the parse tree
	 */
	void enterBlock(@NotNull CymbolParser.BlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#block}.
	 * @param ctx the parse tree
	 */
	void exitBlock(@NotNull CymbolParser.BlockContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#type}.
	 * @param ctx the parse tree
	 */
	void enterType(@NotNull CymbolParser.TypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#type}.
	 * @param ctx the parse tree
	 */
	void exitType(@NotNull CymbolParser.TypeContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#stat}.
	 * @param ctx the parse tree
	 */
	void enterStat(@NotNull CymbolParser.StatContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#stat}.
	 * @param ctx the parse tree
	 */
	void exitStat(@NotNull CymbolParser.StatContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#functionDecl}.
	 * @param ctx the parse tree
	 */
	void enterFunctionDecl(@NotNull CymbolParser.FunctionDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#functionDecl}.
	 * @param ctx the parse tree
	 */
	void exitFunctionDecl(@NotNull CymbolParser.FunctionDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Not}.
	 * @param ctx the parse tree
	 */
	void enterNot(@NotNull CymbolParser.NotContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Not}.
	 * @param ctx the parse tree
	 */
	void exitNot(@NotNull CymbolParser.NotContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Index}.
	 * @param ctx the parse tree
	 */
	void enterIndex(@NotNull CymbolParser.IndexContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Index}.
	 * @param ctx the parse tree
	 */
	void exitIndex(@NotNull CymbolParser.IndexContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#formalParameters}.
	 * @param ctx the parse tree
	 */
	void enterFormalParameters(@NotNull CymbolParser.FormalParametersContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#formalParameters}.
	 * @param ctx the parse tree
	 */
	void exitFormalParameters(@NotNull CymbolParser.FormalParametersContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#file}.
	 * @param ctx the parse tree
	 */
	void enterFile(@NotNull CymbolParser.FileContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#file}.
	 * @param ctx the parse tree
	 */
	void exitFile(@NotNull CymbolParser.FileContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Equal}.
	 * @param ctx the parse tree
	 */
	void enterEqual(@NotNull CymbolParser.EqualContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Equal}.
	 * @param ctx the parse tree
	 */
	void exitEqual(@NotNull CymbolParser.EqualContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Negate}.
	 * @param ctx the parse tree
	 */
	void enterNegate(@NotNull CymbolParser.NegateContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Negate}.
	 * @param ctx the parse tree
	 */
	void exitNegate(@NotNull CymbolParser.NegateContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Int}.
	 * @param ctx the parse tree
	 */
	void enterInt(@NotNull CymbolParser.IntContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Int}.
	 * @param ctx the parse tree
	 */
	void exitInt(@NotNull CymbolParser.IntContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#Var}.
	 * @param ctx the parse tree
	 */
	void enterVar(@NotNull CymbolParser.VarContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#Var}.
	 * @param ctx the parse tree
	 */
	void exitVar(@NotNull CymbolParser.VarContext ctx);

	/**
	 * Enter a parse tree produced by {@link CymbolParser#exprList}.
	 * @param ctx the parse tree
	 */
	void enterExprList(@NotNull CymbolParser.ExprListContext ctx);
	/**
	 * Exit a parse tree produced by {@link CymbolParser#exprList}.
	 * @param ctx the parse tree
	 */
	void exitExprList(@NotNull CymbolParser.ExprListContext ctx);
}